Platform Explorer / Nuxeo Platform 5.8

Contribution org.nuxeo.platform.admin.layoutContrib--layouts

This contribution is part of XML component org.nuxeo.platform.admin.layoutContrib inside nuxeo-admin-center-5.8.jar

Extension Point

Extension point layouts of component WebLayoutManager.

Contributed Items

  • <layout name="fullauditsearch">
          <templates>
            <template mode="any">
              /layouts/layout_default_template.xhtml
            </template>
          </templates>
          <rows>
            <row>
              <widget>startDate</widget>
              <widget>endDate</widget>
            </row>
            <row>
              <widget>eventId</widget>
              <widget>eventCategory</widget>
            </row>
            <row>
              <widget>userId</widget>
            </row>
          </rows>
          <widget name="startDate" type="datetime">
            <labels>
              <label mode="any">label.audit.startDate</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>bas:startDate</field>
            </fields>
            <widgetModes>
              <mode value="create">hidden</mode>
            </widgetModes>
          </widget>
          <widget name="endDate" type="datetime">
            <labels>
              <label mode="any">label.audit.endDate</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>bas:endDate</field>
            </fields>
            <widgetModes>
              <mode value="create">hidden</mode>
            </widgetModes>
          </widget>
          <widget name="eventId" type="selectManyDirectory">
            <labels>
              <label mode="any">label.performedAction</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>bas:eventIds</field>
            </fields>
            <properties mode="any">
              <property name="directoryName">eventTypes</property>
              <property name="localize">true</property>
            </properties>
          </widget>
          <widget name="eventCategory" type="selectOneDirectory">
            <labels>
              <label mode="any">label.category</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>bas:eventCategory</field>
            </fields>
            <properties mode="any">
              <property name="directoryName">eventCategories</property>
              <property name="localize">true</property>
            </properties>
          </widget>
          <widget name="userId" type="singleUserSuggestion">
            <labels>
              <label mode="any">label.username</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>bas:principalName</field>
            </fields>
            <widgetModes>
              <mode value="create">hidden</mode>
            </widgetModes>
            <properties mode="any">
              <property name="userSuggestionSearchType">USER_TYPE</property>
            </properties>
          </widget>
        </layout>
  • <layout name="event_listing">
          <templates>
            <template mode="any">/layouts/layout_listing_ajax_template.xhtml
            </template>
            <template mode="csv">/layouts/layout_listing_csv_template.xhtml
            </template>
            <template mode="pdf">/layouts/layout_listing_pdf_template.xhtml
            </template>
          </templates>
          <properties mode="any">
            <property name="showListingHeader">true</property>
            <property name="showRowEvenOddClass">true</property>
          </properties>
          <columns>
            <column>
              <properties mode="any">
                <property name="useFirstWidgetLabelAsColumnHeader">true</property>
                <property name="sortPropertyName">eventId</property>
              </properties>
              <widget>eventId</widget>
            </column>
            <column>
              <properties mode="any">
                <property name="useFirstWidgetLabelAsColumnHeader">true</property>
                <property name="sortPropertyName">log.eventDate</property>
              </properties>
              <widget>eventDate</widget>
            </column>
            <column>
              <properties mode="any">
                <property name="useFirstWidgetLabelAsColumnHeader">true</property>
                <property name="sortPropertyName">log.principalName</property>
              </properties>
              <widget>username</widget>
            </column>
            <column>
              <properties mode="any">
                <property name="useFirstWidgetLabelAsColumnHeader">true</property>
                <property name="sortPropertyName">log.category</property>
              </properties>
              <widget>eventCategory</widget>
            </column>
            <column>
              <properties mode="any">
                <property name="useFirstWidgetLabelAsColumnHeader">true</property>
              </properties>
              <widget>eventDoc</widget>
            </column>
            <column>
              <properties mode="any">
                <property name="useFirstWidgetLabelAsColumnHeader">true</property>
              </properties>
              <widget>eventComment</widget>
            </column>
            <column>
              <properties mode="any">
                <property name="useFirstWidgetLabelAsColumnHeader">true</property>
              </properties>
              <widget>eventLC</widget>
            </column>
          </columns>
          <widget name="eventId" type="text">
            <labels>
              <label mode="any">label.performedAction</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>data.eventId</field>
            </fields>
            <properties mode="any">
              <property name="localize">true</property>
            </properties>
          </widget>
          <widget name="eventDate" type="datetime">
            <labels>
              <label mode="any">label.date</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>data.eventDate</field>
            </fields>
            <properties widgetMode="any">
              <property name="pattern">#{nxu:basicDateAndTimeFormater()}</property>
              <property name="timezone">#{timeZone}</property>
            </properties>
            <properties mode="csv">
              <property name="csv_formatMask">#{nxu:basicDateFormater()}</property>
              <property name="csv_forceType">date</property>
            </properties>
          </widget>
          <widget name="username" type="text">
            <labels>
              <label mode="any">label.username</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>data.principalName</field>
            </fields>
          </widget>
          <widget name="eventCategory" type="text">
            <labels>
              <label mode="any">label.category</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>data:category</field>
            </fields>
            <properties mode="any">
              <property name="localize">true</property>
            </properties>
          </widget>
          <widget name="eventDoc" type="template">
            <labels>
              <label mode="any">label.document</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>data</field>
            </fields>
            <properties mode="any">
              <property name="template">
                /widgets/auditdoc_widget_template.xhtml
              </property>
            </properties>
          </widget>
          <widget name="eventComment" type="text">
            <labels>
              <label mode="any">label.comment</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>data.comment</field>
            </fields>
          </widget>
          <widget name="eventLC" type="text">
            <labels>
              <label mode="any">label.lifecycle</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>data.docLifeCycle</field>
            </fields>
            <properties mode="any">
              <property name="localize">true</property>
            </properties>
          </widget>
        </layout>
  • <layout name="admin_setup_main">
          <templates>
            <template mode="any">
              /incl/sysinfo/setup_layout_template.xhtml
            </template>
          </templates>
          <properties mode="any">
            <property name="label">label.setup.table.title.mainSetup</property>
          </properties>
          <rows>
            <row>
              <widget>url</widget>
            </row>
            <row>
              <widget>product.name</widget>
            </row>
            <row>
              <widget>product.version</widget>
            </row>
            <row>
              <widget>bind.address</widget>
            </row>
            <row>
              <widget>nuxeo.conf</widget>
            </row>
            <row>
              <widget>data.dir</widget>
            </row>
            <row>
              <widget>log.dir</widget>
            </row>
            <row>
              <widget>org.nuxeo.dev</widget>
            </row>
            <row>
              <widget>dbtemplate</widget>
            </row>
            <row>
              <widget>database_ajax_decorator</widget>
            </row>
          </rows>
          <widget name="url" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.url</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.url']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="product.name" type="text">
            <labels>
              <label mode="any">label.setup.org.nuxeo.ecm.product.name</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['org.nuxeo.ecm.product.name']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="product.version" type="text">
            <labels>
              <label mode="any">label.setup.org.nuxeo.ecm.product.version</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['org.nuxeo.ecm.product.version']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="bind.address" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.bind.address</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.bind.address']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="nuxeo.conf" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.conf</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.conf']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="data.dir" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.data.dir</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.data.dir']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="log.dir" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.log.dir</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.log.dir']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="org.nuxeo.dev" type="template">
            <labels>
              <label mode="any">label.setup.nuxeo.org.nuxeo.dev</label>
            </labels>
            <helpLabels>
              <label mode="any">label.setup.nuxeo.org.nuxeo.dev.help</label>
            </helpLabels>
            <translated>true</translated>
            <fields>
              <field>['org.nuxeo.dev']</field>
            </fields>
            <properties mode="any">
              <property name="template">
                /incl/sysinfo/widgets/dev_mode_widget_template.xhtml
              </property>
            </properties>
          </widget>
          <widget name="dbtemplate" type="template">
            <labels>
              <label mode="any">label.setup.database.templates</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.dbtemplate']</field>
            </fields>
            <properties mode="any">
              <property name="template">
                /incl/sysinfo/widgets/database_chooser_widget_template.xhtml
              </property>
              <property name="reRender">database_ajaxPanel</property>
              <property name="ajaxSingle">true</property>
            </properties>
          </widget>
          <widget name="database_ajax_decorator" type="template">
            <handlingLabels>true</handlingLabels>
            <properties mode="any">
              <property name="template">
                /incl/sysinfo/widgets/database_ajax_panel.xhtml
              </property>
              <property name="ajaxPanelId">database_ajaxPanel</property>
              <!-- use a 'rendered' property instead of playing with the
                subwidget mode otherwise proxy selection misbehaves after
                first non-default database
                selection -->
              <property name="rendered">
                #{value['nuxeo.dbtemplate']!='default'}
              </property>
            </properties>
            <subWidgets>
              <widget name="database" type="layout">
                <properties mode="any">
                  <property name="name">admin_setup_database</property>
                </properties>
              </widget>
            </subWidgets>
          </widget>
    
        </layout>
  • <layout name="admin_setup_database">
          <templates>
            <template mode="any">/incl/sysinfo/setup_layout_template.xhtml
            </template>
          </templates>
          <properties mode="any">
            <property name="label">label.setup.table.title.dataBase</property>
          </properties>
          <rows>
            <row>
              <widget>dbName</widget>
            </row>
            <row>
              <widget>dbUser</widget>
            </row>
            <row>
              <widget>dbPwd</widget>
            </row>
            <row>
              <widget>dbHost</widget>
            </row>
            <row>
              <widget>dbPort</widget>
            </row>
            <row>
              <widget>dbMinPoolSize</widget>
            </row>
            <row>
              <widget>dbMaxPoolSize</widget>
            </row>
            <row>
              <widget>vcsMinPoolSize</widget>
            </row>
            <row>
              <widget>vcsMaxPoolSize</widget>
            </row>
            <row>
              <widget>checkDatabaseParameters</widget>
            </row>
          </rows>
          <widget name="dbName" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.db.name</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.db.name']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="dbUser" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.db.user</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.db.user']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="dbPwd" type="secret">
            <labels>
              <label mode="any">label.setup.nuxeo.db.password</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.db.password']</field>
            </fields>
          </widget>
          <widget name="dbHost" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.db.host</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.db.host']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="dbPort" type="int">
            <labels>
              <label mode="any">label.setup.nuxeo.db.port</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.db.port']</field>
            </fields>
            <properties mode="edit">
              <property name="size">5</property>
              <property name="maxlength">5</property>
            </properties>
          </widget>
          <widget name="dbMinPoolSize" type="int">
            <labels>
              <label mode="any">label.setup.nuxeo.db.min-pool-size</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.db.min-pool-size']</field>
            </fields>
            <properties mode="edit">
              <property name="size">4</property>
            </properties>
          </widget>
          <widget name="dbMaxPoolSize" type="int">
            <labels>
              <label mode="any">label.setup.nuxeo.db.max-pool-size</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.db.max-pool-size']</field>
            </fields>
            <properties mode="edit">
              <property name="size">4</property>
            </properties>
          </widget>
          <widget name="vcsMinPoolSize" type="int">
            <labels>
              <label mode="any">label.setup.nuxeo.vcs.min-pool-size</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.vcs.min-pool-size']</field>
            </fields>
            <properties mode="edit">
              <property name="size">4</property>
            </properties>
          </widget>
          <widget name="vcsMaxPoolSize" type="int">
            <labels>
              <label mode="any">label.setup.nuxeo.vcs.max-pool-size</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.vcs.max-pool-size']</field>
            </fields>
            <properties mode="edit">
              <property name="size">4</property>
            </properties>
          </widget>
          <widget name="checkDatabaseParameters" type="template">
            <labels>
              <label mode="any"/>
            </labels>
            <properties mode="any">
              <property name="template">
                /incl/sysinfo/widgets/database_check_parameters_template.xhtml
              </property>
            </properties>
          </widget>
        </layout>
  • <layout name="admin_choose_proxy">
          <templates>
            <template mode="any">/incl/sysinfo/setup_layout_template.xhtml
            </template>
          </templates>
          <properties mode="any">
            <property name="label">label.setup.table.title.httpProxy</property>
            <property name="ajaxPanelId">admin_choose_proxy_ajaxPanel</property>
          </properties>
          <rows>
            <row>
              <widget>chooseProxy</widget>
            </row>
            <row>
              <widget>proxy.host</widget>
            </row>
            <row>
              <widget>proxy.port</widget>
            </row>
            <row>
              <widget>proxy.login</widget>
            </row>
            <row>
              <widget>proxy.password</widget>
            </row>
          </rows>
          <widget name="chooseProxy" type="template">
            <labels>
              <label mode="any">label.setup.httpProxy.type</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>#{setupWizardAction.proxyType}</field>
            </fields>
            <properties mode="any">
              <property name="template">
                /incl/sysinfo/widgets/proxy_chooser_widget_template.xhtml
              </property>
              <property name="reRender">admin_choose_proxy_ajaxPanel</property>
              <property name="ajaxSingle">true</property>
            </properties>
          </widget>
          <widget name="proxy.host" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.http.proxy.host</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.http.proxy.host']</field>
            </fields>
            <properties widgetMode="edit">
              <property name="required">true</property>
            </properties>
            <properties widgetMode="any">
              <!-- use a 'rendered' property instead of playing with the
                subwidget mode otherwise smtp auth misbehaves after
                first non-default proxy type selection -->
              <property name="rendered">
                #{setupWizardAction.proxyType != 'none'}
              </property>
            </properties>
          </widget>
          <widget name="proxy.port" type="int">
            <labels>
              <label mode="any">label.setup.nuxeo.http.proxy.port</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.http.proxy.port']</field>
            </fields>
            <properties mode="edit">
              <property name="size">5</property>
              <property name="maxlength">5</property>
              <property name="required">true</property>
            </properties>
            <properties widgetMode="any">
              <property name="rendered">
                #{setupWizardAction.proxyType != 'none'}
              </property>
            </properties>
          </widget>
          <widget name="proxy.login" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.http.proxy.login</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.http.proxy.login']</field>
            </fields>
            <properties mode="edit">
              <property name="required">true</property>
            </properties>
            <properties widgetMode="any">
              <property name="rendered">
                #{setupWizardAction.proxyType ==
                'authenticated'}
              </property>
            </properties>
          </widget>
          <widget name="proxy.password" type="secret">
            <labels>
              <label mode="any">label.setup.nuxeo.http.proxy.password</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.http.proxy.password']</field>
            </fields>
            <properties widgetMode="any">
              <property name="rendered">
                #{setupWizardAction.proxyType ==
                'authenticated'}
              </property>
            </properties>
          </widget>
        </layout>
  • <layout name="admin_setup_mail">
          <templates>
            <template mode="any">/incl/sysinfo/setup_layout_template.xhtml
            </template>
          </templates>
          <properties mode="any">
            <property name="label">label.setup.table.title.email</property>
            <property name="ajaxPanelId">admin_setup_mail_ajaxPanel</property>
          </properties>
          <rows>
            <row>
              <widget>eMailSubjectPrefix</widget>
            </row>
            <row>
              <widget>mailservice.user</widget>
            </row>
            <row>
              <widget>mailservice.password</widget>
            </row>
            <row>
              <widget>mail.store.protocol</widget>
            </row>
            <row>
              <widget>mail.transport.protocol</widget>
            </row>
            <row>
              <widget>mail.store.host</widget>
            </row>
            <row>
              <widget>mail.store.port</widget>
            </row>
            <row>
              <widget>mail.store.user</widget>
            </row>
            <row>
              <widget>mail.store.password</widget>
            </row>
            <row>
              <widget>mail.debug</widget>
            </row>
            <row>
              <widget>mail.transport.host</widget>
            </row>
            <row>
              <widget>mail.transport.port</widget>
            </row>
            <row>
              <widget>mail.transport.auth</widget>
            </row>
            <row>
              <widget>mail.transport.username</widget>
            </row>
            <row>
              <widget>mail.transport.password</widget>
            </row>
            <row>
              <widget>mail.from</widget>
            </row>
            <row>
              <widget>mail.transport.usetls</widget>
            </row>
            <row>
              <widget>mail.user</widget>
            </row>
          </rows>
          <widget name="eMailSubjectPrefix" type="text">
            <labels>
              <label mode="any">label.setup.nuxeo.notification.eMailSubjectPrefix
              </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['nuxeo.notification.eMailSubjectPrefix']</field>
            </fields>
          </widget>
          <widget name="mailservice.user" type="text">
            <labels>
              <label mode="any">label.setup.mailservice.user</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mailservice.user']</field>
            </fields>
          </widget>
          <widget name="mailservice.password" type="secret">
            <labels>
              <label mode="any">label.setup.mailservice.password</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mailservice.password']</field>
            </fields>
          </widget>
          <widget name="mail.store.protocol" type="text">
            <labels>
              <label mode="any">label.setup.mail.store.protocol</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.store.protocol']</field>
            </fields>
          </widget>
          <widget name="mail.transport.protocol" type="text">
            <labels>
              <label mode="any">label.setup.mail.transport.protocol</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.transport.protocol']</field>
            </fields>
          </widget>
          <widget name="mail.store.host" type="text">
            <labels>
              <label mode="any">label.setup.mail.store.host</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.store.host']</field>
            </fields>
          </widget>
          <widget name="mail.store.port" type="int">
            <labels>
              <label mode="any">label.setup.mail.store.port</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.store.port']</field>
            </fields>
            <properties mode="edit">
              <property name="size">5</property>
              <property name="maxlength">5</property>
              <property name="styleClass">dataInputText</property>
              <property name="required">false</property>
            </properties>
          </widget>
          <widget name="mail.store.user" type="text">
            <labels>
              <label mode="any">label.setup.mail.store.user</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.store.user']</field>
            </fields>
            <properties mode="edit">
              <property name="styleClass">dataInputText</property>
              <property name="required">false</property>
            </properties>
          </widget>
          <widget name="mail.store.password" type="secret">
            <labels>
              <label mode="any">label.setup.mail.store.password</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.store.password']</field>
            </fields>
            <properties mode="edit">
              <property name="styleClass">dataInputText</property>
              <property name="required">false</property>
            </properties>
          </widget>
          <widget name="mail.debug" type="checkbox">
            <labels>
              <label mode="any">label.setup.mail.debug</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.debug']</field>
            </fields>
          </widget>
          <widget name="mail.transport.host" type="text">
            <labels>
              <label mode="any">label.setup.mail.transport.host</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.transport.host']</field>
            </fields>
            <properties mode="edit">
            </properties>
          </widget>
          <widget name="mail.transport.port" type="int">
            <labels>
              <label mode="any">label.setup.mail.transport.port</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.transport.port']</field>
            </fields>
            <properties mode="edit">
              <property name="size">5</property>
              <property name="maxlength">5</property>
            </properties>
          </widget>
          <widget name="mail.transport.auth" type="template">
            <labels>
              <label mode="any">label.setup.mail.transport.auth</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.transport.auth']</field>
            </fields>
            <properties mode="any">
              <property name="template">
                /incl/sysinfo/widgets/ajax_checkbox_widget_template.xhtml
              </property>
              <property name="reRender">admin_setup_mail_ajaxPanel</property>
              <property name="ajaxSingle">true</property>
            </properties>
          </widget>
          <widget name="mail.transport.username" type="text">
            <labels>
              <label mode="any">label.setup.mail.transport.user</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.transport.username']</field>
            </fields>
            <properties widgetMode="any">
              <property name="rendered">
                #{value['mail.transport.auth'] == true}
              </property>
            </properties>
          </widget>
          <widget name="mail.transport.password" type="secret">
            <labels>
              <label mode="any">label.setup.mail.transport.password</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.transport.password']</field>
            </fields>
            <properties widgetMode="any">
              <property name="rendered">
                #{value['mail.transport.auth'] == true}
              </property>
            </properties>
          </widget>
          <widget name="mail.from" type="text">
            <labels>
              <label mode="any">label.setup.mail.from</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.from']</field>
            </fields>
          </widget>
          <widget name="mail.transport.usetls" type="checkbox">
            <labels>
              <label mode="any">label.setup.mail.transport.usetls</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.transport.usetls']</field>
            </fields>
          </widget>
          <widget name="mail.user" type="text">
            <labels>
              <label mode="any">label.setup.mail.user</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>['mail.user']</field>
            </fields>
          </widget>
        </layout>
  • <layout name="admin_setup_custom_properties">
          <templates>
            <template mode="any">
              /incl/sysinfo/setup_layout_template.xhtml
            </template>
          </templates>
          <properties mode="any">
            <property name="label">label.setup.table.title.custom</property>
          </properties>
        </layout>

XML Source

<extension point="layouts" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">

    <layout name="fullauditsearch">
      <templates>
        <template mode="any">
          /layouts/layout_default_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>startDate</widget>
          <widget>endDate</widget>
        </row>
        <row>
          <widget>eventId</widget>
          <widget>eventCategory</widget>
        </row>
        <row>
          <widget>userId</widget>
        </row>
      </rows>
      <widget name="startDate" type="datetime">
        <labels>
          <label mode="any">label.audit.startDate</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:startDate</field>
        </fields>
        <widgetModes>
          <mode value="create">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="endDate" type="datetime">
        <labels>
          <label mode="any">label.audit.endDate</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:endDate</field>
        </fields>
        <widgetModes>
          <mode value="create">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="eventId" type="selectManyDirectory">
        <labels>
          <label mode="any">label.performedAction</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:eventIds</field>
        </fields>
        <properties mode="any">
          <property name="directoryName">eventTypes</property>
          <property name="localize">true</property>
        </properties>
      </widget>
      <widget name="eventCategory" type="selectOneDirectory">
        <labels>
          <label mode="any">label.category</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:eventCategory</field>
        </fields>
        <properties mode="any">
          <property name="directoryName">eventCategories</property>
          <property name="localize">true</property>
        </properties>
      </widget>
      <widget name="userId" type="singleUserSuggestion">
        <labels>
          <label mode="any">label.username</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>bas:principalName</field>
        </fields>
        <widgetModes>
          <mode value="create">hidden</mode>
        </widgetModes>
        <properties mode="any">
          <property name="userSuggestionSearchType">USER_TYPE</property>
        </properties>
      </widget>
    </layout>

    <!-- TODO: define global widgets to be shared with event logs displayed in document
      tabs -->
    <layout name="event_listing">
      <templates>
        <template mode="any">/layouts/layout_listing_ajax_template.xhtml
        </template>
        <template mode="csv">/layouts/layout_listing_csv_template.xhtml
        </template>
        <template mode="pdf">/layouts/layout_listing_pdf_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="showListingHeader">true</property>
        <property name="showRowEvenOddClass">true</property>
      </properties>
      <columns>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">eventId</property>
          </properties>
          <widget>eventId</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.eventDate</property>
          </properties>
          <widget>eventDate</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.principalName</property>
          </properties>
          <widget>username</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
            <property name="sortPropertyName">log.category</property>
          </properties>
          <widget>eventCategory</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
          </properties>
          <widget>eventDoc</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
          </properties>
          <widget>eventComment</widget>
        </column>
        <column>
          <properties mode="any">
            <property name="useFirstWidgetLabelAsColumnHeader">true</property>
          </properties>
          <widget>eventLC</widget>
        </column>
      </columns>
      <widget name="eventId" type="text">
        <labels>
          <label mode="any">label.performedAction</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.eventId</field>
        </fields>
        <properties mode="any">
          <property name="localize">true</property>
        </properties>
      </widget>
      <widget name="eventDate" type="datetime">
        <labels>
          <label mode="any">label.date</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.eventDate</field>
        </fields>
        <properties widgetMode="any">
          <property name="pattern">#{nxu:basicDateAndTimeFormater()}</property>
          <property name="timezone">#{timeZone}</property>
        </properties>
        <properties mode="csv">
          <property name="csv_formatMask">#{nxu:basicDateFormater()}</property>
          <property name="csv_forceType">date</property>
        </properties>
      </widget>
      <widget name="username" type="text">
        <labels>
          <label mode="any">label.username</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.principalName</field>
        </fields>
      </widget>
      <widget name="eventCategory" type="text">
        <labels>
          <label mode="any">label.category</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data:category</field>
        </fields>
        <properties mode="any">
          <property name="localize">true</property>
        </properties>
      </widget>
      <widget name="eventDoc" type="template">
        <labels>
          <label mode="any">label.document</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data</field>
        </fields>
        <properties mode="any">
          <property name="template">
            /widgets/auditdoc_widget_template.xhtml
          </property>
        </properties>
      </widget>
      <widget name="eventComment" type="text">
        <labels>
          <label mode="any">label.comment</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.comment</field>
        </fields>
      </widget>
      <widget name="eventLC" type="text">
        <labels>
          <label mode="any">label.lifecycle</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>data.docLifeCycle</field>
        </fields>
        <properties mode="any">
          <property name="localize">true</property>
        </properties>
      </widget>
    </layout>

    <!-- TODO: debug/dev mode -->
    <layout name="admin_setup_main">
      <templates>
        <template mode="any">
          /incl/sysinfo/setup_layout_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="label">label.setup.table.title.mainSetup</property>
      </properties>
      <rows>
        <row>
          <widget>url</widget>
        </row>
        <row>
          <widget>product.name</widget>
        </row>
        <row>
          <widget>product.version</widget>
        </row>
        <row>
          <widget>bind.address</widget>
        </row>
        <row>
          <widget>nuxeo.conf</widget>
        </row>
        <row>
          <widget>data.dir</widget>
        </row>
        <row>
          <widget>log.dir</widget>
        </row>
        <row>
          <widget>org.nuxeo.dev</widget>
        </row>
        <row>
          <widget>dbtemplate</widget>
        </row>
        <row>
          <widget>database_ajax_decorator</widget>
        </row>
      </rows>
      <widget name="url" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.url</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.url']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="product.name" type="text">
        <labels>
          <label mode="any">label.setup.org.nuxeo.ecm.product.name</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['org.nuxeo.ecm.product.name']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="product.version" type="text">
        <labels>
          <label mode="any">label.setup.org.nuxeo.ecm.product.version</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['org.nuxeo.ecm.product.version']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="bind.address" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.bind.address</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.bind.address']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="nuxeo.conf" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.conf</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.conf']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="data.dir" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.data.dir</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.data.dir']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="log.dir" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.log.dir</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.log.dir']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="org.nuxeo.dev" type="template">
        <labels>
          <label mode="any">label.setup.nuxeo.org.nuxeo.dev</label>
        </labels>
        <helpLabels>
          <label mode="any">label.setup.nuxeo.org.nuxeo.dev.help</label>
        </helpLabels>
        <translated>true</translated>
        <fields>
          <field>['org.nuxeo.dev']</field>
        </fields>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/dev_mode_widget_template.xhtml
          </property>
        </properties>
      </widget>
      <widget name="dbtemplate" type="template">
        <labels>
          <label mode="any">label.setup.database.templates</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.dbtemplate']</field>
        </fields>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/database_chooser_widget_template.xhtml
          </property>
          <property name="reRender">database_ajaxPanel</property>
          <property name="ajaxSingle">true</property>
        </properties>
      </widget>
      <widget name="database_ajax_decorator" type="template">
        <handlingLabels>true</handlingLabels>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/database_ajax_panel.xhtml
          </property>
          <property name="ajaxPanelId">database_ajaxPanel</property>
          <!-- use a 'rendered' property instead of playing with the
            subwidget mode otherwise proxy selection misbehaves after
            first non-default database
            selection -->
          <property name="rendered">
            #{value['nuxeo.dbtemplate']!='default'}
          </property>
        </properties>
        <subWidgets>
          <widget name="database" type="layout">
            <properties mode="any">
              <property name="name">admin_setup_database</property>
            </properties>
          </widget>
        </subWidgets>
      </widget>

    </layout>

    <layout name="admin_setup_database">
      <templates>
        <template mode="any">/incl/sysinfo/setup_layout_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="label">label.setup.table.title.dataBase</property>
      </properties>
      <rows>
        <row>
          <widget>dbName</widget>
        </row>
        <row>
          <widget>dbUser</widget>
        </row>
        <row>
          <widget>dbPwd</widget>
        </row>
        <row>
          <widget>dbHost</widget>
        </row>
        <row>
          <widget>dbPort</widget>
        </row>
        <row>
          <widget>dbMinPoolSize</widget>
        </row>
        <row>
          <widget>dbMaxPoolSize</widget>
        </row>
        <row>
          <widget>vcsMinPoolSize</widget>
        </row>
        <row>
          <widget>vcsMaxPoolSize</widget>
        </row>
        <row>
          <widget>checkDatabaseParameters</widget>
        </row>
      </rows>
      <widget name="dbName" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.db.name</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.name']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="dbUser" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.db.user</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.user']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="dbPwd" type="secret">
        <labels>
          <label mode="any">label.setup.nuxeo.db.password</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.password']</field>
        </fields>
      </widget>
      <widget name="dbHost" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.db.host</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.host']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="dbPort" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.db.port</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.port']</field>
        </fields>
        <properties mode="edit">
          <property name="size">5</property>
          <property name="maxlength">5</property>
        </properties>
      </widget>
      <widget name="dbMinPoolSize" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.db.min-pool-size</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.min-pool-size']</field>
        </fields>
        <properties mode="edit">
          <property name="size">4</property>
        </properties>
      </widget>
      <widget name="dbMaxPoolSize" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.db.max-pool-size</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.db.max-pool-size']</field>
        </fields>
        <properties mode="edit">
          <property name="size">4</property>
        </properties>
      </widget>
      <widget name="vcsMinPoolSize" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.vcs.min-pool-size</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.vcs.min-pool-size']</field>
        </fields>
        <properties mode="edit">
          <property name="size">4</property>
        </properties>
      </widget>
      <widget name="vcsMaxPoolSize" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.vcs.max-pool-size</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.vcs.max-pool-size']</field>
        </fields>
        <properties mode="edit">
          <property name="size">4</property>
        </properties>
      </widget>
      <widget name="checkDatabaseParameters" type="template">
        <labels>
          <label mode="any"/>
        </labels>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/database_check_parameters_template.xhtml
          </property>
        </properties>
      </widget>
    </layout>

    <layout name="admin_choose_proxy">
      <templates>
        <template mode="any">/incl/sysinfo/setup_layout_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="label">label.setup.table.title.httpProxy</property>
        <property name="ajaxPanelId">admin_choose_proxy_ajaxPanel</property>
      </properties>
      <rows>
        <row>
          <widget>chooseProxy</widget>
        </row>
        <row>
          <widget>proxy.host</widget>
        </row>
        <row>
          <widget>proxy.port</widget>
        </row>
        <row>
          <widget>proxy.login</widget>
        </row>
        <row>
          <widget>proxy.password</widget>
        </row>
      </rows>
      <widget name="chooseProxy" type="template">
        <labels>
          <label mode="any">label.setup.httpProxy.type</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>#{setupWizardAction.proxyType}</field>
        </fields>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/proxy_chooser_widget_template.xhtml
          </property>
          <property name="reRender">admin_choose_proxy_ajaxPanel</property>
          <property name="ajaxSingle">true</property>
        </properties>
      </widget>
      <widget name="proxy.host" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.http.proxy.host</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.http.proxy.host']</field>
        </fields>
        <properties widgetMode="edit">
          <property name="required">true</property>
        </properties>
        <properties widgetMode="any">
          <!-- use a 'rendered' property instead of playing with the
            subwidget mode otherwise smtp auth misbehaves after
            first non-default proxy type selection -->
          <property name="rendered">
            #{setupWizardAction.proxyType != 'none'}
          </property>
        </properties>
      </widget>
      <widget name="proxy.port" type="int">
        <labels>
          <label mode="any">label.setup.nuxeo.http.proxy.port</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.http.proxy.port']</field>
        </fields>
        <properties mode="edit">
          <property name="size">5</property>
          <property name="maxlength">5</property>
          <property name="required">true</property>
        </properties>
        <properties widgetMode="any">
          <property name="rendered">
            #{setupWizardAction.proxyType != 'none'}
          </property>
        </properties>
      </widget>
      <widget name="proxy.login" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.http.proxy.login</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.http.proxy.login']</field>
        </fields>
        <properties mode="edit">
          <property name="required">true</property>
        </properties>
        <properties widgetMode="any">
          <property name="rendered">
            #{setupWizardAction.proxyType ==
            'authenticated'}
          </property>
        </properties>
      </widget>
      <widget name="proxy.password" type="secret">
        <labels>
          <label mode="any">label.setup.nuxeo.http.proxy.password</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.http.proxy.password']</field>
        </fields>
        <properties widgetMode="any">
          <property name="rendered">
            #{setupWizardAction.proxyType ==
            'authenticated'}
          </property>
        </properties>
      </widget>
    </layout>

    <layout name="admin_setup_mail">
      <templates>
        <template mode="any">/incl/sysinfo/setup_layout_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="label">label.setup.table.title.email</property>
        <property name="ajaxPanelId">admin_setup_mail_ajaxPanel</property>
      </properties>
      <rows>
        <row>
          <widget>eMailSubjectPrefix</widget>
        </row>
        <row>
          <widget>mailservice.user</widget>
        </row>
        <row>
          <widget>mailservice.password</widget>
        </row>
        <row>
          <widget>mail.store.protocol</widget>
        </row>
        <row>
          <widget>mail.transport.protocol</widget>
        </row>
        <row>
          <widget>mail.store.host</widget>
        </row>
        <row>
          <widget>mail.store.port</widget>
        </row>
        <row>
          <widget>mail.store.user</widget>
        </row>
        <row>
          <widget>mail.store.password</widget>
        </row>
        <row>
          <widget>mail.debug</widget>
        </row>
        <row>
          <widget>mail.transport.host</widget>
        </row>
        <row>
          <widget>mail.transport.port</widget>
        </row>
        <row>
          <widget>mail.transport.auth</widget>
        </row>
        <row>
          <widget>mail.transport.username</widget>
        </row>
        <row>
          <widget>mail.transport.password</widget>
        </row>
        <row>
          <widget>mail.from</widget>
        </row>
        <row>
          <widget>mail.transport.usetls</widget>
        </row>
        <row>
          <widget>mail.user</widget>
        </row>
      </rows>
      <widget name="eMailSubjectPrefix" type="text">
        <labels>
          <label mode="any">label.setup.nuxeo.notification.eMailSubjectPrefix
          </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['nuxeo.notification.eMailSubjectPrefix']</field>
        </fields>
      </widget>
      <widget name="mailservice.user" type="text">
        <labels>
          <label mode="any">label.setup.mailservice.user</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mailservice.user']</field>
        </fields>
      </widget>
      <widget name="mailservice.password" type="secret">
        <labels>
          <label mode="any">label.setup.mailservice.password</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mailservice.password']</field>
        </fields>
      </widget>
      <widget name="mail.store.protocol" type="text">
        <labels>
          <label mode="any">label.setup.mail.store.protocol</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.store.protocol']</field>
        </fields>
      </widget>
      <widget name="mail.transport.protocol" type="text">
        <labels>
          <label mode="any">label.setup.mail.transport.protocol</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.protocol']</field>
        </fields>
      </widget>
      <widget name="mail.store.host" type="text">
        <labels>
          <label mode="any">label.setup.mail.store.host</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.store.host']</field>
        </fields>
      </widget>
      <widget name="mail.store.port" type="int">
        <labels>
          <label mode="any">label.setup.mail.store.port</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.store.port']</field>
        </fields>
        <properties mode="edit">
          <property name="size">5</property>
          <property name="maxlength">5</property>
          <property name="styleClass">dataInputText</property>
          <property name="required">false</property>
        </properties>
      </widget>
      <widget name="mail.store.user" type="text">
        <labels>
          <label mode="any">label.setup.mail.store.user</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.store.user']</field>
        </fields>
        <properties mode="edit">
          <property name="styleClass">dataInputText</property>
          <property name="required">false</property>
        </properties>
      </widget>
      <widget name="mail.store.password" type="secret">
        <labels>
          <label mode="any">label.setup.mail.store.password</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.store.password']</field>
        </fields>
        <properties mode="edit">
          <property name="styleClass">dataInputText</property>
          <property name="required">false</property>
        </properties>
      </widget>
      <widget name="mail.debug" type="checkbox">
        <labels>
          <label mode="any">label.setup.mail.debug</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.debug']</field>
        </fields>
      </widget>
      <widget name="mail.transport.host" type="text">
        <labels>
          <label mode="any">label.setup.mail.transport.host</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.host']</field>
        </fields>
        <properties mode="edit">
        </properties>
      </widget>
      <widget name="mail.transport.port" type="int">
        <labels>
          <label mode="any">label.setup.mail.transport.port</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.port']</field>
        </fields>
        <properties mode="edit">
          <property name="size">5</property>
          <property name="maxlength">5</property>
        </properties>
      </widget>
      <widget name="mail.transport.auth" type="template">
        <labels>
          <label mode="any">label.setup.mail.transport.auth</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.auth']</field>
        </fields>
        <properties mode="any">
          <property name="template">
            /incl/sysinfo/widgets/ajax_checkbox_widget_template.xhtml
          </property>
          <property name="reRender">admin_setup_mail_ajaxPanel</property>
          <property name="ajaxSingle">true</property>
        </properties>
      </widget>
      <widget name="mail.transport.username" type="text">
        <labels>
          <label mode="any">label.setup.mail.transport.user</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.username']</field>
        </fields>
        <properties widgetMode="any">
          <property name="rendered">
            #{value['mail.transport.auth'] == true}
          </property>
        </properties>
      </widget>
      <widget name="mail.transport.password" type="secret">
        <labels>
          <label mode="any">label.setup.mail.transport.password</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.password']</field>
        </fields>
        <properties widgetMode="any">
          <property name="rendered">
            #{value['mail.transport.auth'] == true}
          </property>
        </properties>
      </widget>
      <widget name="mail.from" type="text">
        <labels>
          <label mode="any">label.setup.mail.from</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.from']</field>
        </fields>
      </widget>
      <widget name="mail.transport.usetls" type="checkbox">
        <labels>
          <label mode="any">label.setup.mail.transport.usetls</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.transport.usetls']</field>
        </fields>
      </widget>
      <widget name="mail.user" type="text">
        <labels>
          <label mode="any">label.setup.mail.user</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>['mail.user']</field>
        </fields>
      </widget>
    </layout>

    <!-- placeholder layout for custom properties -->
    <layout name="admin_setup_custom_properties">
      <templates>
        <template mode="any">
          /incl/sysinfo/setup_layout_template.xhtml
        </template>
      </templates>
      <properties mode="any">
        <property name="label">label.setup.table.title.custom</property>
      </properties>
    </layout>
  </extension>